package com.office.system.domain;

import com.office.common.annotation.Excel;
import com.office.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;

/**
 * 财务账户对象 finance_account
 * 
 * @author 数字牧马人
 */
public class FinanceAccount extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 账户ID */
    private Long accountId;

    /** 账户名称 */
    @Excel(name = "账户名称")
    private String accountName;

    /** 账户类型 */
    @Excel(name = "账户类型", readConverterExp = "bank=银行账户,cash=现金账户,other=其他账户")
    private String accountType;

    /** 账户号码 */
    @Excel(name = "账户号码")
    private String accountNumber;

    /** 开户银行 */
    @Excel(name = "开户银行")
    private String bankName;

    /** 初始余额 */
    @Excel(name = "初始余额")
    private BigDecimal initialBalance;

    /** 当前余额 */
    @Excel(name = "当前余额")
    private BigDecimal currentBalance;

    /** 货币类型 */
    @Excel(name = "货币类型")
    private String currency;

    /** 状态 */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    public void setAccountId(Long accountId) 
    {
        this.accountId = accountId;
    }

    public Long getAccountId() 
    {
        return accountId;
    }
    public void setAccountName(String accountName) 
    {
        this.accountName = accountName;
    }

    public String getAccountName() 
    {
        return accountName;
    }
    public void setAccountType(String accountType) 
    {
        this.accountType = accountType;
    }

    public String getAccountType() 
    {
        return accountType;
    }
    public void setAccountNumber(String accountNumber) 
    {
        this.accountNumber = accountNumber;
    }

    public String getAccountNumber() 
    {
        return accountNumber;
    }
    public void setBankName(String bankName) 
    {
        this.bankName = bankName;
    }

    public String getBankName() 
    {
        return bankName;
    }
    public void setInitialBalance(BigDecimal initialBalance) 
    {
        this.initialBalance = initialBalance;
    }

    public BigDecimal getInitialBalance() 
    {
        return initialBalance;
    }
    public void setCurrentBalance(BigDecimal currentBalance) 
    {
        this.currentBalance = currentBalance;
    }

    public BigDecimal getCurrentBalance() 
    {
        return currentBalance;
    }
    public void setCurrency(String currency) 
    {
        this.currency = currency;
    }

    public String getCurrency() 
    {
        return currency;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("accountId", getAccountId())
            .append("accountName", getAccountName())
            .append("accountType", getAccountType())
            .append("accountNumber", getAccountNumber())
            .append("bankName", getBankName())
            .append("initialBalance", getInitialBalance())
            .append("currentBalance", getCurrentBalance())
            .append("currency", getCurrency())
            .append("status", getStatus())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
} 